home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / MSINC.PAK / DIGITALV.H < prev    next >
C/C++ Source or Header  |  1997-05-06  |  38KB  |  1,092 lines

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /*        DIGITALV.H - Include file for the MCI Digital Video Command Set   */
  4. /*                                                                          */
  5. /*                              Version 1.0                                 */
  6. /*                                                                          */
  7. /*        Copyright (c) 1995-1996, Microsoft Corp.  All rights reserved.    */
  8. /*                                                                          */
  9. /*  Date            Modification                                            */
  10. /*  ------------    ------------                                            */
  11. /*  Aug 19, 1992    -Version 1.0 Release                                    */
  12. /*                                                                          */
  13. /****************************************************************************/
  14.  
  15. #ifndef _INC_DIGITALV
  16. #define _INC_DIGITALV  100
  17. #pragma option -b
  18.  
  19. #ifdef __cplusplus
  20. extern "C" {            /* Assume C declarations for C++ */
  21. #endif    /* __cplusplus */
  22.  
  23. #define MCI_TEST                            0x00000020L
  24.  
  25. /* Message values */
  26.  
  27. #define MCI_CAPTURE                         0x0870
  28. #define MCI_MONITOR                         0x0871
  29. #define MCI_RESERVE                         0x0872
  30. #define MCI_SETAUDIO                        0x0873
  31. #define MCI_SIGNAL                          0x0875
  32. #define MCI_SETVIDEO                        0x0876
  33. #define MCI_QUALITY                         0x0877
  34. #define MCI_LIST                            0x0878
  35. #define MCI_UNDO                            0x0879
  36. #define MCI_CONFIGURE                       0x087a
  37. #define MCI_RESTORE                         0x087b
  38.  
  39. /* Return and string constant values */
  40.  
  41. #define MCI_ON   1
  42. #define MCI_OFF  0
  43.  
  44. #define MCI_DGV_FILE_MODE_SAVING            0x0001
  45. #define MCI_DGV_FILE_MODE_LOADING           0x0002
  46. #define MCI_DGV_FILE_MODE_EDITING           0x0003
  47. #define MCI_DGV_FILE_MODE_IDLE              0x0004
  48.  
  49. /* These identifiers are used only by device drivers */
  50.  
  51. #define MCI_ON_S                            0x00008000L
  52. #define MCI_OFF_S                           0x00008001L
  53. #define MCI_DGV_FILE_S                      0x00008002L
  54. #define MCI_DGV_INPUT_S                     0x00008003L
  55.  
  56. #define MCI_DGV_FILE_MODE_SAVING_S          0x00008004L
  57. #define MCI_DGV_FILE_MODE_LOADING_S         0x00008005L
  58. #define MCI_DGV_FILE_MODE_EDITING_S         0x00008006L
  59. #define MCI_DGV_FILE_MODE_IDLE_S            0x00008007L
  60.  
  61. #define MCI_DGV_SETVIDEO_SRC_NTSC_S         0x00008010L
  62. #define MCI_DGV_SETVIDEO_SRC_RGB_S          0x00008011L
  63. #define MCI_DGV_SETVIDEO_SRC_SVIDEO_S       0x00008012L
  64. #define MCI_DGV_SETVIDEO_SRC_PAL_S          0x00008013L
  65. #define MCI_DGV_SETVIDEO_SRC_SECAM_S        0x00008014L
  66. #define MCI_DGV_SETVIDEO_SRC_GENERIC_S      0x00008015L
  67.  
  68. #define MCI_DGV_SETAUDIO_SRC_LEFT_S         0x00008020L
  69. #define MCI_DGV_SETAUDIO_SRC_RIGHT_S        0x00008021L
  70. #define MCI_DGV_SETAUDIO_SRC_AVERAGE_S      0x00008022L
  71. #define MCI_DGV_SETAUDIO_SRC_STEREO_S       0x00008023L
  72.  
  73. /* Window message for signal notification */
  74.  
  75. #define MM_MCISIGNAL                        0x3CB
  76.  
  77. /* error values */
  78.  
  79. #define MCIERR_DGV_DEVICE_LIMIT             (MCIERR_CUSTOM_DRIVER_BASE+0)
  80. #define MCIERR_DGV_IOERR                    (MCIERR_CUSTOM_DRIVER_BASE+1)
  81. #define MCIERR_DGV_WORKSPACE_EMPTY          (MCIERR_CUSTOM_DRIVER_BASE+2)
  82. #define MCIERR_DGV_DISK_FULL                (MCIERR_CUSTOM_DRIVER_BASE+3)
  83. #define MCIERR_DGV_DEVICE_MEMORY_FULL       (MCIERR_CUSTOM_DRIVER_BASE+4)
  84. #define MCIERR_DGV_BAD_CLIPBOARD_RANGE      (MCIERR_CUSTOM_DRIVER_BASE+5)
  85.  
  86. /* defines for monitor methods */
  87.  
  88. #define MCI_DGV_METHOD_PRE                  0x0000a000L
  89. #define MCI_DGV_METHOD_POST                 0x0000a001L
  90. #define MCI_DGV_METHOD_DIRECT               0x0000a002L
  91.  
  92. /* defines for known file formats */
  93.  
  94. #define MCI_DGV_FF_AVSS                     0x00004000L
  95. #define MCI_DGV_FF_AVI                      0x00004001L
  96. #define MCI_DGV_FF_DIB                      0x00004002L
  97. #define MCI_DGV_FF_RDIB                     0x00004003L
  98. #define MCI_DGV_FF_JPEG                     0x00004004L
  99. #define MCI_DGV_FF_RJPEG                    0x00004005L
  100. #define MCI_DGV_FF_JFIF                     0x00004006L
  101. #define MCI_DGV_FF_MPEG                     0x00004007L
  102.  
  103. /* values for dwItem field of MCI_CAPABILITY_PARMS structure */
  104.  
  105. #define MCI_DGV_GETDEVCAPS_CAN_LOCK         0x00004000L
  106. #define MCI_DGV_GETDEVCAPS_CAN_STRETCH      0x00004001L
  107. #define MCI_DGV_GETDEVCAPS_CAN_FREEZE       0x00004002L
  108. #define MCI_DGV_GETDEVCAPS_MAX_WINDOWS      0x00004003L
  109. #define MCI_DGV_GETDEVCAPS_CAN_REVERSE      0x00004004L
  110. #define MCI_DGV_GETDEVCAPS_HAS_STILL        0x00004005L
  111. #define MCI_DGV_GETDEVCAPS_PALETTES         0x00004006L
  112. #define MCI_DGV_GETDEVCAPS_CAN_STR_IN       0x00004008L
  113. #define MCI_DGV_GETDEVCAPS_CAN_TEST         0x00004009L
  114. #define MCI_DGV_GETDEVCAPS_MAXIMUM_RATE     0x0000400aL
  115. #define MCI_DGV_GETDEVCAPS_MINIMUM_RATE     0x0000400bL
  116.  
  117. /* flags for dwFlags parameter of MCI_CAPTURE command message */
  118.  
  119. #define MCI_DGV_CAPTURE_AS                  0x00010000L
  120. #define MCI_DGV_CAPTURE_AT                  0x00020000L
  121.  
  122. /* flags for dwFlags parameter of MCI_COPY command message */
  123.  
  124. #define MCI_DGV_COPY_AT                     0x00010000L
  125. #define MCI_DGV_COPY_AUDIO_STREAM           0x00020000L
  126. #define MCI_DGV_COPY_VIDEO_STREAM           0x00040000L
  127.  
  128. /* flags for dwFlags parameter of MCI_CUE command message */
  129.  
  130. #define MCI_DGV_CUE_INPUT                   0x00010000L
  131. #define MCI_DGV_CUE_OUTPUT                  0x00020000L
  132. #define MCI_DGV_CUE_NOSHOW                  0x00040000L
  133.  
  134. /* flags for dwFlags parameter of MCI_CUT command message */
  135.  
  136. #define MCI_DGV_CUT_AT                      0x00010000L
  137. #define MCI_DGV_CUT_AUDIO_STREAM            0x00020000L
  138. #define MCI_DGV_CUT_VIDEO_STREAM            0x00040000L
  139.  
  140. /* flags for dwFlags parameter of MCI_DELETE command message */
  141.  
  142. #define MCI_DGV_DELETE_AT                   0x00010000L
  143. #define MCI_DGV_DELETE_AUDIO_STREAM         0x00020000L
  144. #define MCI_DGV_DELETE_VIDEO_STREAM         0x00040000L
  145.  
  146. /* flags for dwFlags parameter of MCI_FREEZE command message */
  147.  
  148. #define MCI_DGV_FREEZE_AT                   0x00010000L
  149. #define MCI_DGV_FREEZE_OUTSIDE              0x00020000L
  150.  
  151. /* flags for dwFlags parameter of MCI_INFO command message */
  152.  
  153. #define MCI_DGV_INFO_TEXT                   0x00010000L
  154. #define MCI_DGV_INFO_ITEM                   0X00020000L
  155.  
  156. /* values for dwItem field of MCI_DGV_INFO_PARMS structure */
  157.  
  158. #define MCI_INFO_VERSION                    0x00000400L
  159.  
  160. #define MCI_DGV_INFO_USAGE                  0x00004000L
  161. #define MCI_DGV_INFO_AUDIO_QUALITY          0x00004001L
  162. #define MCI_DGV_INFO_STILL_QUALITY          0x00004002L
  163. #define MCI_DGV_INFO_VIDEO_QUALITY          0x00004003L
  164. #define MCI_DGV_INFO_AUDIO_ALG              0x00004004L
  165. #define MCI_DGV_INFO_STILL_ALG              0x00004005L
  166. #define MCI_DGV_INFO_VIDEO_ALG              0x00004006L
  167.  
  168. /* flags for dwFlags parameter of MCI_LIST command message */
  169.  
  170. #define MCI_DGV_LIST_ITEM                   0x00010000L
  171. #define MCI_DGV_LIST_COUNT                  0x00020000L
  172. #define MCI_DGV_LIST_NUMBER                 0x00040000L
  173. #define MCI_DGV_LIST_ALG                    0x00080000L
  174.  
  175. /* values for dwItem field of MCI_DGV_LIST_PARMS structure */
  176.  
  177. #define MCI_DGV_LIST_AUDIO_ALG              0x00004000L
  178. #define MCI_DGV_LIST_AUDIO_QUALITY          0x00004001L
  179. #define MCI_DGV_LIST_AUDIO_STREAM           0x00004002L
  180. #define MCI_DGV_LIST_STILL_ALG              0x00004003L
  181. #define MCI_DGV_LIST_STILL_QUALITY          0x00004004L
  182. #define MCI_DGV_LIST_VIDEO_ALG              0x00004005L
  183. #define MCI_DGV_LIST_VIDEO_QUALITY          0x00004006L
  184. #define MCI_DGV_LIST_VIDEO_STREAM           0x00004007L
  185. #define MCI_DGV_LIST_VIDEO_SOURCE           0x00004008L
  186.  
  187.  
  188. /* flags for dwFlags parameter of MCI_MONITOR command message */
  189.  
  190. #define MCI_DGV_MONITOR_METHOD              0x00010000L
  191. #define MCI_DGV_MONITOR_SOURCE              0x00020000L
  192.  
  193. /* values for dwSource parameter of the MCI_DGV_MONITOR_PARMS struture */
  194.  
  195. #define MCI_DGV_MONITOR_INPUT               0x00004000L
  196. #define MCI_DGV_MONITOR_FILE                0x00004001L
  197.  
  198. /* flags for dwFlags parameter of MCI_OPEN command message */
  199.  
  200. #define MCI_DGV_OPEN_WS                     0x00010000L
  201. #define MCI_DGV_OPEN_PARENT                 0x00020000L
  202. #define MCI_DGV_OPEN_NOSTATIC               0x00040000L
  203. #define MCI_DGV_OPEN_16BIT                  0x00080000L
  204. #define MCI_DGV_OPEN_32BIT                  0x00100000L
  205.  
  206. /* flags for dwFlags parameter of MCI_PASTE command message */
  207.  
  208. #define MCI_DGV_PASTE_AT                    0x00010000L
  209. #define MCI_DGV_PASTE_AUDIO_STREAM          0x00020000L
  210. #define MCI_DGV_PASTE_VIDEO_STREAM          0x00040000L
  211. #define MCI_DGV_PASTE_INSERT                0x00080000L
  212. #define MCI_DGV_PASTE_OVERWRITE             0x00100000L
  213.  
  214. /* flags for dwFlags parameter of MCI_PLAY command message */
  215.  
  216. #define MCI_DGV_PLAY_REPEAT                 0x00010000L
  217. #define MCI_DGV_PLAY_REVERSE                0x00020000L
  218.  
  219. /* flags for dwFlags parameter of MCI_PUT command message */
  220.  
  221. #define MCI_DGV_RECT                        0x00010000L
  222. #define MCI_DGV_PUT_SOURCE                  0x00020000L
  223. #define MCI_DGV_PUT_DESTINATION             0x00040000L
  224. #define MCI_DGV_PUT_FRAME                   0x00080000L
  225. #define MCI_DGV_PUT_VIDEO                   0x00100000L
  226. #define MCI_DGV_PUT_WINDOW                  0x00200000L
  227. #define MCI_DGV_PUT_CLIENT                  0x00400000L
  228.  
  229. /* flags for dwFlags parameter of MCI_QUALITY command message */
  230.  
  231. #define MCI_QUALITY_ITEM                    0x00010000L
  232. #define MCI_QUALITY_NAME                    0x00020000L
  233. #define MCI_QUALITY_ALG                     0x00040000L
  234. #define MCI_QUALITY_DIALOG                  0x00080000L
  235. #define MCI_QUALITY_HANDLE                  0x00100000L
  236.  
  237. /* values for dwItem field of MCI_QUALITY_PARMS structure */
  238.  
  239. #define MCI_QUALITY_ITEM_AUDIO              0x00004000L
  240. #define MCI_QUALITY_ITEM_STILL              0x00004001L
  241. #define MCI_QUALITY_ITEM_VIDEO              0x00004002L
  242.  
  243. /* flags for dwFlags parameter of MCI_REALIZE command message */
  244.  
  245. #define MCI_DGV_REALIZE_NORM                0x00010000L
  246. #define MCI_DGV_REALIZE_BKGD                0x00020000L
  247.  
  248. /* flags for dwFlags parameter of MCI_RECORD command message */
  249.  
  250. #define MCI_DGV_RECORD_HOLD                 0x00020000L
  251. #define MCI_DGV_RECORD_AUDIO_STREAM         0x00040000L
  252. #define MCI_DGV_RECORD_VIDEO_STREAM         0x00080000L
  253.  
  254. /* flags for dwFlags parameters of MCI_RESERVE command message */
  255.  
  256. #define MCI_DGV_RESERVE_IN                  0x00010000L
  257. #define MCI_DGV_RESERVE_SIZE                0x00020000L
  258.  
  259. /* flags for dwFlags parameter of MCI_RESTORE command message */
  260.  
  261. #define MCI_DGV_RESTORE_FROM                0x00010000L
  262. #define MCI_DGV_RESTORE_AT                  0x00020000L
  263.  
  264. /* flags for dwFlags parameters of MCI_SAVE command message */
  265.  
  266. #define MCI_DGV_SAVE_ABORT                  0x00020000L
  267. #define MCI_DGV_SAVE_KEEPRESERVE            0x00040000L
  268.  
  269. /* flags for dwFlags parameters of MCI_SET command message */
  270.  
  271. #define MCI_DGV_SET_SEEK_EXACTLY            0x00010000L
  272. #define MCI_DGV_SET_SPEED                   0x00020000L
  273. #define MCI_DGV_SET_STILL                   0x00040000L
  274. #define MCI_DGV_SET_FILEFORMAT              0x00080000L
  275.  
  276. /* flags for the dwFlags parameter of MCI_SETAUDIO command message */
  277.  
  278. #define MCI_DGV_SETAUDIO_OVER               0x00010000L
  279. #define MCI_DGV_SETAUDIO_CLOCKTIME          0x00020000L
  280. #define MCI_DGV_SETAUDIO_ALG                0x00040000L
  281. #define MCI_DGV_SETAUDIO_QUALITY            0x00080000L
  282. #define MCI_DGV_SETAUDIO_RECORD             0x00100000L
  283. #define MCI_DGV_SETAUDIO_LEFT               0x00200000L
  284. #define MCI_DGV_SETAUDIO_RIGHT              0x00400000L
  285. #define MCI_DGV_SETAUDIO_ITEM               0x00800000L
  286. #define MCI_DGV_SETAUDIO_VALUE              0x01000000L
  287. #define MCI_DGV_SETAUDIO_INPUT              0x02000000L
  288. #define MCI_DGV_SETAUDIO_OUTPUT             0x04000000L
  289.  
  290. /* values for the dwItem parameter of MCI_DGV_SETAUDIO_PARMS */
  291.  
  292. #define MCI_DGV_SETAUDIO_TREBLE             0x00004000L
  293. #define MCI_DGV_SETAUDIO_BASS               0x00004001L
  294. #define MCI_DGV_SETAUDIO_VOLUME             0x00004002L
  295. #define MCI_DGV_SETAUDIO_STREAM             0x00004003L
  296. #define MCI_DGV_SETAUDIO_SOURCE             0x00004004L
  297. #define MCI_DGV_SETAUDIO_SAMPLESPERSEC      0x00004005L
  298. #define MCI_DGV_SETAUDIO_AVGBYTESPERSEC     0x00004006L
  299. #define MCI_DGV_SETAUDIO_BLOCKALIGN         0x00004007L
  300. #define MCI_DGV_SETAUDIO_BITSPERSAMPLE      0x00004008L
  301.  
  302. /* values for the dwValue parameter of MCI_DGV_SETAUDIO_PARMS
  303.    used with MCI_DGV_SETAUDIO_SOURCE */
  304.  
  305. #define MCI_DGV_SETAUDIO_SOURCE_STEREO      0x00000000L
  306. #define MCI_DGV_SETAUDIO_SOURCE_LEFT        0x00000001L
  307. #define MCI_DGV_SETAUDIO_SOURCE_RIGHT       0x00000002L
  308. #define MCI_DGV_SETAUDIO_SOURCE_AVERAGE     0x00004000L
  309.  
  310. /* flags for the dwFlags parameter of MCI_SETVIDEO command */
  311.  
  312. #define MCI_DGV_SETVIDEO_QUALITY            0x00010000L
  313. #define MCI_DGV_SETVIDEO_ALG                0x00020000L
  314. #define MCI_DGV_SETVIDEO_CLOCKTIME          0x00040000L
  315. #define MCI_DGV_SETVIDEO_SRC_NUMBER         0x00080000L
  316. #define MCI_DGV_SETVIDEO_ITEM               0x00100000L
  317. #define MCI_DGV_SETVIDEO_OVER               0x00200000L
  318. #define MCI_DGV_SETVIDEO_RECORD             0x00400000L
  319. #define MCI_DGV_SETVIDEO_STILL              0x00800000L
  320. #define MCI_DGV_SETVIDEO_VALUE              0x01000000L
  321. #define MCI_DGV_SETVIDEO_INPUT              0x02000000L
  322. #define MCI_DGV_SETVIDEO_OUTPUT             0x04000000L
  323.  
  324. /* values for the dwTo field of MCI_SETVIDEO_PARMS
  325.    used with MCI_DGV_SETVIDEO_SOURCE */
  326.  
  327. #define MCI_DGV_SETVIDEO_SRC_NTSC           0x00004000L
  328. #define MCI_DGV_SETVIDEO_SRC_RGB            0x00004001L
  329. #define MCI_DGV_SETVIDEO_SRC_SVIDEO         0x00004002L
  330. #define MCI_DGV_SETVIDEO_SRC_PAL            0x00004003L
  331. #define MCI_DGV_SETVIDEO_SRC_SECAM          0x00004004L
  332. #define MCI_DGV_SETVIDEO_SRC_GENERIC        0x00004005L
  333.  
  334. /* values for the dwItem field of MCI_SETVIDEO_PARMS */
  335.  
  336. #define MCI_DGV_SETVIDEO_BRIGHTNESS         0x00004000L
  337. #define MCI_DGV_SETVIDEO_COLOR              0x00004001L
  338. #define MCI_DGV_SETVIDEO_CONTRAST           0x00004002L
  339. #define MCI_DGV_SETVIDEO_TINT               0x00004003L
  340. #define MCI_DGV_SETVIDEO_SHARPNESS          0x00004004L
  341. #define MCI_DGV_SETVIDEO_GAMMA              0x00004005L
  342. #define MCI_DGV_SETVIDEO_STREAM             0x00004006L
  343. #define MCI_DGV_SETVIDEO_PALHANDLE          0x00004007L
  344. #define MCI_DGV_SETVIDEO_FRAME_RATE         0x00004008L
  345. #define MCI_DGV_SETVIDEO_SOURCE             0x00004009L
  346. #define MCI_DGV_SETVIDEO_KEY_INDEX          0x0000400aL
  347. #define MCI_DGV_SETVIDEO_KEY_COLOR          0x0000400bL
  348. #define MCI_DGV_SETVIDEO_BITSPERPEL         0x0000400cL
  349.  
  350. /* flags for the dwFlags parameter of MCI_SIGNAL */
  351.  
  352. #define MCI_DGV_SIGNAL_AT                   0x00010000L
  353. #define MCI_DGV_SIGNAL_EVERY                0x00020000L
  354. #define MCI_DGV_SIGNAL_USERVAL              0x00040000L
  355. #define MCI_DGV_SIGNAL_CANCEL               0x00080000L
  356. #define MCI_DGV_SIGNAL_POSITION             0x00100000L
  357.  
  358. /* The following is the function digitalvideo drivers must use
  359.  * to signal when a frame marked by the SIGNAL command has been rendered:
  360.  *
  361.  *  SEND_DGVSIGNAL(dwFlags, dwCallback, hDriver, wDeviceID, dwUser, dwPos )
  362.  *
  363.  * The following is a description of the parameters:
  364.  *
  365.  *  dwFlags    - the dwFlags parameter passed when the signal was set
  366.  *  dwCallback - the dwCallback value from the MCI_DGV_SIGNAL_PARMS struct
  367.  *               used to set the signal
  368.  *  hDriver    - the handle assigned to the driver by MMSYSTEM when the
  369.  *               device was opened
  370.  *  wDeviceID  - the device ID
  371.  *  dwUser     - the dwUserParm value from the MCI_DGV_SIGNAL_PARMS struct
  372.  *               used to set the signal
  373.  *  dwPos      - the position at which the signal was sent, in the current
  374.  *               time format.
  375.  *
  376.  * The window indicated by the handle in the dwCallback field is notified
  377.  * by means of a Windows message with the following form:
  378.  *
  379.  * msg    = MM_MCISIGNAL
  380.  * wParam = wDeviceID of the sending driver
  381.  * lParam = the uservalue specified or the position the signal was sent
  382.  *          at; the latter if the MCI_DGV_SIGNAL_POSITION flag was set
  383.  *          in the dwFlags parameter when the signal was created.
  384.  */
  385.  
  386. #define SEND_DGVSIGNAL(dwFlags, dwCallback, hDriver, wDeviceID, dwUser, dwPos ) \
  387.   DriverCallback( (dwCallback), DCB_WINDOW, (HANDLE)(wDeviceID), MM_MCISIGNAL,\
  388.   hDriver, ((dwFlags) & MCI_DGV_SIGNAL_POSITION) ? (dwPos):(dwUser),\
  389.   ((dwFlags) & MCI_DGV_SIGNAL_POSITION) ? (dwUser):(dwPos))
  390.  
  391. /* flags for the dwFlags parameter of MCI_STATUS command */
  392.  
  393. #define MCI_DGV_STATUS_NOMINAL              0x00020000L
  394. #define MCI_DGV_STATUS_REFERENCE            0x00040000L
  395. #define MCI_DGV_STATUS_LEFT                 0x00080000L
  396. #define MCI_DGV_STATUS_RIGHT                0x00100000L
  397. #define MCI_DGV_STATUS_DISKSPACE            0x00200000L
  398. #define MCI_DGV_STATUS_INPUT                0x00400000L
  399. #define MCI_DGV_STATUS_OUTPUT               0x00800000L
  400. #define MCI_DGV_STATUS_RECORD               0x01000000L
  401.  
  402. /* values for dwItem field of MCI_STATUS_PARMS structure */
  403.  
  404. #define MCI_DGV_STATUS_AUDIO_INPUT          0x00004000L
  405. #define MCI_DGV_STATUS_HWND                 0x00004001L
  406. #define MCI_DGV_STATUS_SPEED                0x00004003L
  407. #define MCI_DGV_STATUS_HPAL                 0x00004004L
  408. #define MCI_DGV_STATUS_BRIGHTNESS           0x00004005L
  409. #define MCI_DGV_STATUS_COLOR                0x00004006L
  410. #define MCI_DGV_STATUS_CONTRAST             0x00004007L
  411. #define MCI_DGV_STATUS_FILEFORMAT           0x00004008L
  412. #define MCI_DGV_STATUS_AUDIO_SOURCE         0x00004009L
  413. #define MCI_DGV_STATUS_GAMMA                0x0000400aL
  414. #define MCI_DGV_STATUS_MONITOR              0x0000400bL
  415. #define MCI_DGV_STATUS_MONITOR_METHOD       0x0000400cL
  416. #define MCI_DGV_STATUS_FRAME_RATE           0x0000400eL
  417. #define MCI_DGV_STATUS_BASS                 0x0000400fL
  418. #define MCI_DGV_STATUS_SIZE                 0x00004010L
  419. #define MCI_DGV_STATUS_SEEK_EXACTLY         0x00004011L
  420. #define MCI_DGV_STATUS_SHARPNESS            0x00004012L
  421. #define MCI_DGV_STATUS_SMPTE                0x00004013L
  422. #define MCI_DGV_STATUS_AUDIO                0x00004014L
  423. #define MCI_DGV_STATUS_TINT                 0x00004015L
  424. #define MCI_DGV_STATUS_TREBLE               0x00004016L
  425. #define MCI_DGV_STATUS_UNSAVED              0x00004017L
  426. #define MCI_DGV_STATUS_VIDEO                0x00004018L
  427. #define MCI_DGV_STATUS_VOLUME               0x00004019L
  428. #define MCI_DGV_STATUS_AUDIO_RECORD         0x0000401aL
  429. #define MCI_DGV_STATUS_VIDEO_SOURCE         0x0000401bL
  430. #define MCI_DGV_STATUS_VIDEO_RECORD         0x0000401cL
  431. #define MCI_DGV_STATUS_STILL_FILEFORMAT     0x0000401dL
  432. #define MCI_DGV_STATUS_VIDEO_SRC_NUM        0x0000401eL
  433. #define MCI_DGV_STATUS_FILE_MODE            0x0000401fL
  434. #define MCI_DGV_STATUS_FILE_COMPLETION      0x00004020L
  435. #define MCI_DGV_STATUS_WINDOW_VISIBLE       0x00004021L
  436. #define MCI_DGV_STATUS_WINDOW_MINIMIZED     0x00004022L
  437. #define MCI_DGV_STATUS_WINDOW_MAXIMIZED     0x00004023L
  438. #define MCI_DGV_STATUS_KEY_INDEX            0x00004024L
  439. #define MCI_DGV_STATUS_KEY_COLOR            0x00004025L
  440. #define MCI_DGV_STATUS_PAUSE_MODE           0x00004026L
  441. #define MCI_DGV_STATUS_SAMPLESPERSEC        0x00004027L
  442. #define MCI_DGV_STATUS_AVGBYTESPERSEC       0x00004028L
  443. #define MCI_DGV_STATUS_BLOCKALIGN           0x00004029L
  444. #define MCI_DGV_STATUS_BITSPERSAMPLE        0x0000402aL
  445. #define MCI_DGV_STATUS_BITSPERPEL           0x0000402bL
  446. #define MCI_DGV_STATUS_FORWARD              0x0000402cL
  447. #define MCI_DGV_STATUS_AUDIO_STREAM         0x0000402dL
  448. #define MCI_DGV_STATUS_VIDEO_STREAM         0x0000402eL
  449.  
  450. /* flags for dwFlags parameter of MCI_STEP command message */
  451.  
  452. #define MCI_DGV_STEP_REVERSE                0x00010000L
  453. #define MCI_DGV_STEP_FRAMES                 0x00020000L
  454.  
  455. /* flags for dwFlags parameter of MCI_STOP command message */
  456.  
  457. #define MCI_DGV_STOP_HOLD                   0x00010000L
  458.  
  459. /* flags for dwFlags parameter of MCI_UPDATE command message */
  460.  
  461. #define MCI_DGV_UPDATE_HDC                  0x00020000L
  462. #define MCI_DGV_UPDATE_PAINT                0x00040000L
  463.  
  464. /* flags for dwFlags parameter of MCI_WHERE command message */
  465.  
  466. #define MCI_DGV_WHERE_SOURCE                0x00020000L
  467. #define MCI_DGV_WHERE_DESTINATION           0x00040000L
  468. #define MCI_DGV_WHERE_FRAME                 0x00080000L
  469. #define MCI_DGV_WHERE_VIDEO                 0x00100000L
  470. #define MCI_DGV_WHERE_WINDOW                0x00200000L
  471. #define MCI_DGV_WHERE_MAX                   0x00400000L
  472.  
  473. /* flags for dwFlags parameter of MCI_WINDOW command message */
  474.  
  475. #define MCI_DGV_WINDOW_HWND                 0x00010000L
  476. #define MCI_DGV_WINDOW_STATE                0x00040000L
  477. #define MCI_DGV_WINDOW_TEXT                 0x00080000L
  478.  
  479. /* flags for hWnd parameter of MCI_DGV_WINDOW_PARMS parameter block */
  480.  
  481. #define MCI_DGV_WINDOW_DEFAULT              0x00000000L
  482.  
  483. /* parameter block for MCI_WHERE, MCI_PUT, MCI_FREEZE, MCI_UNFREEZE cmds */
  484.  
  485. typedef struct {
  486.     DWORD   dwCallback;
  487. #ifdef MCI_USE_OFFEXT
  488.     POINT   ptOffset;
  489.     POINT   ptExtent;
  490. #else    
  491.     RECT    rc;
  492. #endif
  493. } MCI_DGV_RECT_PARMS;
  494. typedef MCI_DGV_RECT_PARMS FAR * LPMCI_DGV_RECT_PARMS;
  495.  
  496. /* parameter block for MCI_CAPTURE command message */
  497.  
  498. typedef struct {
  499.     DWORD   dwCallback;
  500.     LPSTR   lpstrFileName;
  501. #ifdef MCI_USE_OFFEXT
  502.     POINT   ptOffset;
  503.     POINT   ptExtent;
  504. #else    
  505.     RECT    rc;
  506. #endif
  507. } MCI_DGV_CAPTURE_PARMSA;
  508. typedef struct {
  509.     DWORD   dwCallback;
  510.     LPWSTR  lpstrFileName;
  511. #ifdef MCI_USE_OFFEXT
  512.     POINT   ptOffset;
  513.     POINT   ptExtent;
  514. #else    
  515.     RECT    rc;
  516. #endif
  517. } MCI_DGV_CAPTURE_PARMSW;
  518. #ifdef UNICODE
  519. typedef MCI_DGV_CAPTURE_PARMSW MCI_DGV_CAPTURE_PARMS;
  520. #else
  521. typedef MCI_DGV_CAPTURE_PARMSA MCI_DGV_CAPTURE_PARMS;
  522. #endif // UNICODE
  523. typedef MCI_DGV_CAPTURE_PARMSA FAR * LPMCI_DGV_CAPTURE_PARMSA;
  524. typedef MCI_DGV_CAPTURE_PARMSW FAR * LPMCI_DGV_CAPTURE_PARMSW;
  525. #ifdef UNICODE
  526. typedef LPMCI_DGV_CAPTURE_PARMSW LPMCI_DGV_CAPTURE_PARMS;
  527. #else
  528. typedef LPMCI_DGV_CAPTURE_PARMSA LPMCI_DGV_CAPTURE_PARMS;
  529. #endif // UNICODE
  530.  
  531. /* parameter block for MCI_CLOSE command message */
  532.  
  533. typedef MCI_GENERIC_PARMS MCI_CLOSE_PARMS;
  534. typedef MCI_CLOSE_PARMS FAR * LPMCI_CLOSE_PARMS;
  535.  
  536. /* parameter block for MCI_COPY command message */
  537.  
  538. typedef struct {
  539.     DWORD   dwCallback;
  540.     DWORD   dwFrom;
  541.     DWORD   dwTo;
  542. #ifdef MCI_USE_OFFEXT
  543.     POINT   ptOffset;
  544.     POINT   ptExtent;
  545. #else    
  546.     RECT    rc;
  547. #endif
  548.     DWORD   dwAudioStream;
  549.     DWORD   dwVideoStream;
  550. } MCI_DGV_COPY_PARMS;
  551. typedef MCI_DGV_COPY_PARMS FAR * LPMCI_DGV_COPY_PARMS;
  552.  
  553. /* parameter block for MCI_CUE command message */
  554.  
  555. typedef struct {
  556.     DWORD   dwCallback;
  557.     DWORD   dwTo;
  558. } MCI_DGV_CUE_PARMS;
  559. typedef MCI_DGV_CUE_PARMS FAR * LPMCI_DGV_CUE_PARMS;
  560.  
  561. /* parameter block for MCI_CUT command message */
  562.  
  563. typedef struct {
  564.     DWORD   dwCallback;
  565.     DWORD   dwFrom;
  566.     DWORD   dwTo;
  567. #ifdef MCI_USE_OFFEXT
  568.     POINT   ptOffset;
  569.     POINT   ptExtent;
  570. #else    
  571.     RECT    rc;
  572. #endif
  573.     DWORD   dwAudioStream;
  574.     DWORD   dwVideoStream;
  575. } MCI_DGV_CUT_PARMS;
  576. typedef MCI_DGV_CUT_PARMS FAR * LPMCI_DGV_CUT_PARMS;
  577.  
  578. /* parameter block for MCI_DELETE command message */
  579.  
  580. typedef struct {
  581.     DWORD   dwCallback;
  582.     DWORD   dwFrom;
  583.     DWORD   dwTo;
  584. #ifdef MCI_USE_OFFEXT
  585.     POINT   ptOffset;
  586.     POINT   ptExtent;
  587. #else    
  588.     RECT    rc;
  589. #endif
  590.     DWORD   dwAudioStream;
  591.     DWORD   dwVideoStream;
  592. } MCI_DGV_DELETE_PARMS;
  593. typedef MCI_DGV_DELETE_PARMS FAR * LPMCI_DGV_DELETE_PARMS;
  594.  
  595. /* parameter block for MCI_FREEZE command message */
  596.  
  597. typedef MCI_DGV_RECT_PARMS MCI_DGV_FREEZE_PARMS;
  598. typedef MCI_DGV_FREEZE_PARMS FAR * LPMCI_DGV_FREEZE_PARMS;
  599.  
  600. /* parameter block for MCI_INFO command message */
  601.  
  602. typedef struct  {
  603.     DWORD   dwCallback;
  604.     LPSTR   lpstrReturn;
  605.     DWORD   dwRetSize;
  606.     DWORD   dwItem;
  607. } MCI_DGV_INFO_PARMSA;
  608. typedef struct  {
  609.     DWORD   dwCallback;
  610.     LPWSTR  lpstrReturn;
  611.     DWORD   dwRetSize;
  612.     DWORD   dwItem;
  613. } MCI_DGV_INFO_PARMSW;
  614. #ifdef UNICODE
  615. typedef MCI_DGV_INFO_PARMSW MCI_DGV_INFO_PARMS;
  616. #else
  617. typedef MCI_DGV_INFO_PARMSA MCI_DGV_INFO_PARMS;
  618. #endif // UNICODE
  619. //? already typedef'd?  //typedef MCI_INFO_PARMS FAR * LPMCI_INFO_PARMS;
  620. typedef MCI_DGV_INFO_PARMSA FAR * LPMCI_DGV_INFO_PARMSA;
  621. typedef MCI_DGV_INFO_PARMSW FAR * LPMCI_DGV_INFO_PARMSW;
  622. #ifdef UNICODE
  623. typedef LPMCI_DGV_INFO_PARMSW LPMCI_DGV_INFO_PARMS;
  624. #else
  625. typedef LPMCI_DGV_INFO_PARMSA LPMCI_DGV_INFO_PARMS;
  626. #endif // UNICODE
  627.  
  628. /* parameter block for MCI_LIST command message */
  629.  
  630. typedef struct {
  631.     DWORD   dwCallback;
  632.     LPSTR   lpstrReturn;
  633.     DWORD   dwLength;
  634.     DWORD   dwNumber;
  635.     DWORD   dwItem;
  636.     LPSTR   lpstrAlgorithm;
  637. } MCI_DGV_LIST_PARMSA;
  638. typedef struct {
  639.     DWORD   dwCallback;
  640.     LPWSTR  lpstrReturn;
  641.     DWORD   dwLength;
  642.     DWORD   dwNumber;
  643.     DWORD   dwItem;
  644.     LPWSTR  lpstrAlgorithm;
  645. } MCI_DGV_LIST_PARMSW;
  646. #ifdef UNICODE
  647. typedef MCI_DGV_LIST_PARMSW MCI_DGV_LIST_PARMS;
  648. #else
  649. typedef MCI_DGV_LIST_PARMSA MCI_DGV_LIST_PARMS;
  650. #endif // UNICODE
  651. typedef MCI_DGV_LIST_PARMSA FAR * LPMCI_DGV_LIST_PARMSA;
  652. typedef MCI_DGV_LIST_PARMSW FAR * LPMCI_DGV_LIST_PARMSW;
  653. #ifdef UNICODE
  654. typedef LPMCI_DGV_LIST_PARMSW LPMCI_DGV_LIST_PARMS;
  655. #else
  656. typedef LPMCI_DGV_LIST_PARMSA LPMCI_DGV_LIST_PARMS;
  657. #endif // UNICODE
  658.  
  659. /* parameter block for MCI_LOAD command message */
  660.  
  661. typedef MCI_LOAD_PARMS MCI_DGV_LOAD_PARMS;
  662. typedef MCI_DGV_LOAD_PARMS FAR * LPMCI_DGV_LOAD_PARMS;
  663.  
  664. /* parameter block for MCI_MONITOR command message */
  665.  
  666. typedef struct {
  667.     DWORD   dwCallback;
  668.     DWORD   dwSource;
  669.     DWORD   dwMethod;
  670. } MCI_DGV_MONITOR_PARMS;
  671. typedef MCI_DGV_MONITOR_PARMS FAR * LPMCI_DGV_MONITOR_PARMS;
  672.  
  673. /* parameter block for MCI_OPEN command message */
  674.  
  675. typedef struct {
  676.     DWORD   dwCallback;
  677.     UINT    wDeviceID;
  678. #ifndef _WIN32
  679.     WORD    wReserved0;
  680. #endif
  681.     LPSTR   lpstrDeviceType;
  682.     LPSTR   lpstrElementName;
  683.     LPSTR   lpstrAlias;
  684.     DWORD   dwStyle;
  685.     HWND    hWndParent;
  686. #ifndef _WIN32
  687.     WORD    wReserved1;
  688. #endif
  689. } MCI_DGV_OPEN_PARMSA;
  690. typedef struct {
  691.     DWORD   dwCallback;
  692.     UINT    wDeviceID;
  693. #ifndef _WIN32
  694.     WORD    wReserved0;
  695. #endif
  696.     LPWSTR  lpstrDeviceType;
  697.     LPWSTR  lpstrElementName;
  698.     LPWSTR  lpstrAlias;
  699.     DWORD   dwStyle;
  700.     HWND    hWndParent;
  701. #ifndef _WIN32
  702.     WORD    wReserved1;
  703. #endif
  704. } MCI_DGV_OPEN_PARMSW;
  705. #ifdef UNICODE
  706. typedef MCI_DGV_OPEN_PARMSW MCI_DGV_OPEN_PARMS;
  707. #else
  708. typedef MCI_DGV_OPEN_PARMSA MCI_DGV_OPEN_PARMS;
  709. #endif // UNICODE
  710. typedef MCI_DGV_OPEN_PARMSA FAR * LPMCI_DGV_OPEN_PARMSA;
  711. typedef MCI_DGV_OPEN_PARMSW FAR * LPMCI_DGV_OPEN_PARMSW;
  712. #ifdef UNICODE
  713. typedef LPMCI_DGV_OPEN_PARMSW LPMCI_DGV_OPEN_PARMS;
  714. #else
  715. typedef LPMCI_DGV_OPEN_PARMSA LPMCI_DGV_OPEN_PARMS;
  716. #endif // UNICODE
  717.  
  718. /* parameter block for MCI_PAUSE command message */
  719.  
  720. typedef MCI_GENERIC_PARMS MCI_DGV_PAUSE_PARMS;
  721. typedef MCI_DGV_PAUSE_PARMS FAR * LPMCI_DGV_PAUSE_PARMS;
  722.  
  723. /* parameter block for MCI_PASTE command message */
  724.  
  725. typedef struct {
  726.     DWORD   dwCallback;
  727.     DWORD   dwTo;
  728. #ifdef MCI_USE_OFFEXT
  729.     POINT   ptOffset;
  730.     POINT   ptExtent;
  731. #else    
  732.     RECT    rc;
  733. #endif
  734.     DWORD   dwAudioStream;
  735.     DWORD   dwVideoStream;
  736. } MCI_DGV_PASTE_PARMS;
  737. typedef MCI_DGV_PASTE_PARMS FAR * LPMCI_DGV_PASTE_PARMS;
  738.  
  739. /* parameter block for MCI_PLAY command message */
  740.  
  741. typedef MCI_PLAY_PARMS MCI_DGV_PLAY_PARMS;
  742. typedef MCI_DGV_PLAY_PARMS FAR * LPMCI_DGV_PLAY_PARMS;
  743.  
  744. /* parameter block for MCI_PUT command message */
  745.  
  746. typedef MCI_DGV_RECT_PARMS MCI_DGV_PUT_PARMS;
  747. typedef MCI_DGV_PUT_PARMS FAR * LPMCI_DGV_PUT_PARMS;
  748.  
  749. /* parameter block for MCI_QUALITY command message */
  750.  
  751. typedef struct {
  752.     DWORD       dwCallback;
  753.     DWORD       dwItem;
  754.     LPSTR       lpstrName;
  755.     DWORD       lpstrAlgorithm;
  756.     DWORD       dwHandle;
  757. } MCI_DGV_QUALITY_PARMSA;
  758. typedef struct {
  759.     DWORD       dwCallback;
  760.     DWORD       dwItem;
  761.     LPWSTR      lpstrName;
  762.     DWORD       lpstrAlgorithm;
  763.     DWORD       dwHandle;
  764. } MCI_DGV_QUALITY_PARMSW;
  765. #ifdef UNICODE
  766. typedef MCI_DGV_QUALITY_PARMSW MCI_DGV_QUALITY_PARMS;
  767. #else
  768. typedef MCI_DGV_QUALITY_PARMSA MCI_DGV_QUALITY_PARMS;
  769. #endif // UNICODE
  770. typedef MCI_DGV_QUALITY_PARMSA FAR * LPMCI_DGV_QUALITY_PARMSA;
  771. typedef MCI_DGV_QUALITY_PARMSW FAR * LPMCI_DGV_QUALITY_PARMSW;
  772. #ifdef UNICODE
  773. typedef LPMCI_DGV_QUALITY_PARMSW LPMCI_DGV_QUALITY_PARMS;
  774. #else
  775. typedef LPMCI_DGV_QUALITY_PARMSA LPMCI_DGV_QUALITY_PARMS;
  776. #endif // UNICODE
  777.  
  778. /* parameter block for MCI_REALIZE command message */
  779.  
  780. typedef MCI_GENERIC_PARMS MCI_REALIZE_PARMS;
  781. typedef MCI_REALIZE_PARMS FAR * LPMCI_REALIZE_PARMS;
  782.  
  783. /* parameter block for MCI_RECORD command message */
  784.  
  785. typedef struct {
  786.     DWORD   dwCallback;
  787.     DWORD   dwFrom;
  788.     DWORD   dwTo;
  789. #ifdef MCI_USE_OFFEXT
  790.     POINT   ptOffset;
  791.     POINT   ptExtent;
  792. #else    
  793.     RECT    rc;
  794. #endif
  795.     DWORD   dwAudioStream;
  796.     DWORD   dwVideoStream;
  797. } MCI_DGV_RECORD_PARMS;
  798. typedef MCI_DGV_RECORD_PARMS FAR * LPMCI_DGV_RECORD_PARMS;
  799.  
  800. /* parameter block for MCI_RESERVE command message */
  801.  
  802. typedef struct {
  803.     DWORD   dwCallback;
  804.     LPSTR   lpstrPath;
  805.     DWORD   dwSize;
  806. } MCI_DGV_RESERVE_PARMSA;
  807. typedef struct {
  808.     DWORD   dwCallback;
  809.     LPWSTR  lpstrPath;
  810.     DWORD   dwSize;
  811. } MCI_DGV_RESERVE_PARMSW;
  812. #ifdef UNICODE
  813. typedef MCI_DGV_RESERVE_PARMSW MCI_DGV_RESERVE_PARMS;
  814. #else
  815. typedef MCI_DGV_RESERVE_PARMSA MCI_DGV_RESERVE_PARMS;
  816. #endif // UNICODE
  817. typedef MCI_DGV_RESERVE_PARMSA FAR * LPMCI_DGV_RESERVE_PARMSA;
  818. typedef MCI_DGV_RESERVE_PARMSW FAR * LPMCI_DGV_RESERVE_PARMSW;
  819. #ifdef UNICODE
  820. typedef LPMCI_DGV_RESERVE_PARMSW LPMCI_DGV_RESERVE_PARMS;
  821. #else
  822. typedef LPMCI_DGV_RESERVE_PARMSA LPMCI_DGV_RESERVE_PARMS;
  823. #endif // UNICODE
  824.  
  825. /* parameter block for MCI_RESTORE command message */
  826.  
  827. typedef struct {
  828.     DWORD   dwCallback;
  829.     LPSTR   lpstrFileName;
  830. #ifdef MCI_USE_OFFEXT
  831.     POINT   ptOffset;
  832.     POINT   ptExtent;
  833. #else    
  834.     RECT    rc;
  835. #endif
  836. } MCI_DGV_RESTORE_PARMSA;
  837. typedef struct {
  838.     DWORD   dwCallback;
  839.     LPWSTR  lpstrFileName;
  840. #ifdef MCI_USE_OFFEXT
  841.     POINT   ptOffset;
  842.     POINT   ptExtent;
  843. #else    
  844.     RECT    rc;
  845. #endif
  846. } MCI_DGV_RESTORE_PARMSW;
  847. #ifdef UNICODE
  848. typedef MCI_DGV_RESTORE_PARMSW MCI_DGV_RESTORE_PARMS;
  849. #else
  850. typedef MCI_DGV_RESTORE_PARMSA MCI_DGV_RESTORE_PARMS;
  851. #endif // UNICODE
  852. typedef MCI_DGV_RESTORE_PARMSA FAR * LPMCI_DGV_RESTORE_PARMSA;
  853. typedef MCI_DGV_RESTORE_PARMSW FAR * LPMCI_DGV_RESTORE_PARMSW;
  854. #ifdef UNICODE
  855. typedef LPMCI_DGV_RESTORE_PARMSW LPMCI_DGV_RESTORE_PARMS;
  856. #else
  857. typedef LPMCI_DGV_RESTORE_PARMSA LPMCI_DGV_RESTORE_PARMS;
  858. #endif // UNICODE
  859.  
  860. /* parameter block for MCI_RESUME command message */
  861.  
  862. typedef MCI_GENERIC_PARMS MCI_DGV_RESUME_PARMS;
  863. typedef MCI_DGV_RESUME_PARMS FAR * LPMCI_DGV_RESUME_PARMS;
  864.  
  865. /* parameter block for MCI_SAVE command message */
  866.  
  867. typedef struct {
  868.     DWORD   dwCallback;
  869.     LPSTR   lpstrFileName;
  870.     RECT    rc;
  871. } MCI_DGV_SAVE_PARMSA;
  872. typedef struct {
  873.     DWORD   dwCallback;
  874.     LPWSTR  lpstrFileName;
  875.     RECT    rc;
  876. } MCI_DGV_SAVE_PARMSW;
  877. #ifdef UNICODE
  878. typedef MCI_DGV_SAVE_PARMSW MCI_DGV_SAVE_PARMS;
  879. #else
  880. typedef MCI_DGV_SAVE_PARMSA MCI_DGV_SAVE_PARMS;
  881. #endif // UNICODE
  882. typedef MCI_DGV_SAVE_PARMSA FAR * LPMCI_DGV_SAVE_PARMSA;
  883. typedef MCI_DGV_SAVE_PARMSW FAR * LPMCI_DGV_SAVE_PARMSW;
  884. #ifdef UNICODE
  885. typedef LPMCI_DGV_SAVE_PARMSW LPMCI_DGV_SAVE_PARMS;
  886. #else
  887. typedef LPMCI_DGV_SAVE_PARMSA LPMCI_DGV_SAVE_PARMS;
  888. #endif // UNICODE
  889.  
  890. /* parameter block for MCI_SET command message */
  891.  
  892. typedef struct {
  893.     DWORD   dwCallback;
  894.     DWORD   dwTimeFormat;
  895.     DWORD   dwAudio;
  896.     DWORD   dwFileFormat;
  897.     DWORD   dwSpeed;
  898. } MCI_DGV_SET_PARMS;
  899. typedef MCI_DGV_SET_PARMS FAR * LPMCI_DGV_SET_PARMS;
  900.  
  901. /* parameter block for MCI_SETAUDIO command message */
  902.  
  903. typedef struct {
  904.     DWORD   dwCallback;
  905.     DWORD   dwItem;
  906.     DWORD   dwValue;
  907.     DWORD   dwOver;
  908.     LPSTR   lpstrAlgorithm;
  909.     LPSTR   lpstrQuality;
  910. } MCI_DGV_SETAUDIO_PARMSA;
  911. typedef struct {
  912.     DWORD   dwCallback;
  913.     DWORD   dwItem;
  914.     DWORD   dwValue;
  915.     DWORD   dwOver;
  916.     LPWSTR  lpstrAlgorithm;
  917.     LPWSTR  lpstrQuality;
  918. } MCI_DGV_SETAUDIO_PARMSW;
  919. #ifdef UNICODE
  920. typedef MCI_DGV_SETAUDIO_PARMSW MCI_DGV_SETAUDIO_PARMS;
  921. #else
  922. typedef MCI_DGV_SETAUDIO_PARMSA MCI_DGV_SETAUDIO_PARMS;
  923. #endif // UNICODE
  924. typedef MCI_DGV_SETAUDIO_PARMSA FAR * LPMCI_DGV_SETAUDIO_PARMSA;
  925. typedef MCI_DGV_SETAUDIO_PARMSW FAR * LPMCI_DGV_SETAUDIO_PARMSW;
  926. #ifdef UNICODE
  927. typedef LPMCI_DGV_SETAUDIO_PARMSW LPMCI_DGV_SETAUDIO_PARMS;
  928. #else
  929. typedef LPMCI_DGV_SETAUDIO_PARMSA LPMCI_DGV_SETAUDIO_PARMS;
  930. #endif // UNICODE
  931.  
  932. /* parameter block for MCI_SIGNAL command message */
  933.  
  934. typedef struct {
  935.     DWORD   dwCallback;
  936.     DWORD   dwPosition;
  937.     DWORD   dwPeriod;
  938.     DWORD   dwUserParm;
  939. } MCI_DGV_SIGNAL_PARMS;
  940. typedef MCI_DGV_SIGNAL_PARMS FAR * LPMCI_DGV_SIGNAL_PARMS;
  941.  
  942. /* parameter block for MCI_SETVIDEO command message */
  943.  
  944. typedef struct {
  945.     DWORD   dwCallback;
  946.     DWORD   dwItem;
  947.     DWORD   dwValue;
  948.     DWORD   dwOver;
  949.     LPSTR   lpstrAlgorithm;
  950.     LPSTR   lpstrQuality;
  951.     DWORD   dwSourceNumber;
  952. } MCI_DGV_SETVIDEO_PARMSA;
  953. typedef struct {
  954.     DWORD   dwCallback;
  955.     DWORD   dwItem;
  956.     DWORD   dwValue;
  957.     DWORD   dwOver;
  958.     LPWSTR  lpstrAlgorithm;
  959.     LPWSTR  lpstrQuality;
  960.     DWORD   dwSourceNumber;
  961. } MCI_DGV_SETVIDEO_PARMSW;
  962. #ifdef UNICODE
  963. typedef MCI_DGV_SETVIDEO_PARMSW MCI_DGV_SETVIDEO_PARMS;
  964. #else
  965. typedef MCI_DGV_SETVIDEO_PARMSA MCI_DGV_SETVIDEO_PARMS;
  966. #endif // UNICODE
  967. typedef MCI_DGV_SETVIDEO_PARMSA FAR * LPMCI_DGV_SETVIDEO_PARMSA;
  968. typedef MCI_DGV_SETVIDEO_PARMSW FAR * LPMCI_DGV_SETVIDEO_PARMSW;
  969. #ifdef UNICODE
  970. typedef LPMCI_DGV_SETVIDEO_PARMSW LPMCI_DGV_SETVIDEO_PARMS;
  971. #else
  972. typedef LPMCI_DGV_SETVIDEO_PARMSA LPMCI_DGV_SETVIDEO_PARMS;
  973. #endif // UNICODE
  974.  
  975. /* parameter block for MCI_STATUS command message */
  976.  
  977. typedef struct {
  978.     DWORD   dwCallback;
  979.     DWORD   dwReturn;
  980.     DWORD   dwItem;
  981.     DWORD   dwTrack;
  982.     LPSTR   lpstrDrive;
  983.     DWORD   dwReference;
  984. } MCI_DGV_STATUS_PARMSA;
  985. typedef struct {
  986.     DWORD   dwCallback;
  987.     DWORD   dwReturn;
  988.     DWORD   dwItem;
  989.     DWORD   dwTrack;
  990.     LPWSTR  lpstrDrive;
  991.     DWORD   dwReference;
  992. } MCI_DGV_STATUS_PARMSW;
  993. #ifdef UNICODE
  994. typedef MCI_DGV_STATUS_PARMSW MCI_DGV_STATUS_PARMS;
  995. #else
  996. typedef MCI_DGV_STATUS_PARMSA MCI_DGV_STATUS_PARMS;
  997. #endif // UNICODE
  998. typedef MCI_DGV_STATUS_PARMSA FAR * LPMCI_DGV_STATUS_PARMSA;
  999. typedef MCI_DGV_STATUS_PARMSW FAR * LPMCI_DGV_STATUS_PARMSW;
  1000. #ifdef UNICODE
  1001. typedef LPMCI_DGV_STATUS_PARMSW LPMCI_DGV_STATUS_PARMS;
  1002. #else
  1003. typedef LPMCI_DGV_STATUS_PARMSA LPMCI_DGV_STATUS_PARMS;
  1004. #endif // UNICODE
  1005.  
  1006. /* parameter block for MCI_STEP command message */
  1007.  
  1008. typedef struct {
  1009.     DWORD   dwCallback;
  1010.     DWORD   dwFrames;
  1011. } MCI_DGV_STEP_PARMS;
  1012. typedef MCI_DGV_STEP_PARMS FAR *LPMCI_DGV_STEP_PARMS;
  1013.  
  1014. /* parameter block for MCI_STOP command message */
  1015.  
  1016. typedef MCI_GENERIC_PARMS MCI_DGV_STOP_PARMS;
  1017. typedef MCI_DGV_STOP_PARMS FAR * LPMCI_DGV_STOP_PARMS;
  1018.  
  1019. /* parameter block for MCI_UNFREEZE command message */
  1020.  
  1021. typedef MCI_DGV_RECT_PARMS MCI_DGV_UNFREEZE_PARMS;
  1022. typedef MCI_DGV_UNFREEZE_PARMS FAR * LPMCI_DGV_UNFREEZE_PARMS;
  1023.  
  1024. /* parameter block for MCI_UPDATE command message */
  1025.  
  1026. typedef struct {
  1027.     DWORD   dwCallback;
  1028. #ifdef MCI_USE_OFFEXT
  1029.     POINT   ptOffset;
  1030.     POINT   ptExtent;
  1031. #else    
  1032.     RECT    rc;
  1033. #endif
  1034.     HDC     hDC;
  1035.  
  1036. #ifndef _WIN32
  1037.     WORD    wReserved0;
  1038. #endif
  1039. } MCI_DGV_UPDATE_PARMS;
  1040. typedef MCI_DGV_UPDATE_PARMS FAR * LPMCI_DGV_UPDATE_PARMS;
  1041.  
  1042. /* parameter block for MCI_WHERE command message */
  1043.  
  1044. typedef MCI_DGV_RECT_PARMS MCI_DGV_WHERE_PARMS;
  1045. typedef MCI_DGV_WHERE_PARMS FAR * LPMCI_DGV_WHERE_PARMS;
  1046.  
  1047. /* parameter block for MCI_WINDOW command message */
  1048.  
  1049. typedef struct {
  1050.     DWORD   dwCallback;
  1051.     HWND    hWnd;
  1052. #ifndef _WIN32
  1053.     WORD    wReserved1;
  1054. #endif
  1055.     UINT    nCmdShow;
  1056. #ifndef _WIN32
  1057.     WORD    wReserved2;
  1058. #endif
  1059.     LPSTR   lpstrText;
  1060. } MCI_DGV_WINDOW_PARMSA;
  1061. typedef struct {
  1062.     DWORD   dwCallback;
  1063.     HWND    hWnd;
  1064. #ifndef _WIN32
  1065.     WORD    wReserved1;
  1066. #endif
  1067.     UINT    nCmdShow;
  1068. #ifndef _WIN32
  1069.     WORD    wReserved2;
  1070. #endif
  1071.     LPWSTR  lpstrText;
  1072. } MCI_DGV_WINDOW_PARMSW;
  1073. #ifdef UNICODE
  1074. typedef MCI_DGV_WINDOW_PARMSW MCI_DGV_WINDOW_PARMS;
  1075. #else
  1076. typedef MCI_DGV_WINDOW_PARMSA MCI_DGV_WINDOW_PARMS;
  1077. #endif // UNICODE
  1078. typedef MCI_DGV_WINDOW_PARMSA FAR * LPMCI_DGV_WINDOW_PARMSA;
  1079. typedef MCI_DGV_WINDOW_PARMSW FAR * LPMCI_DGV_WINDOW_PARMSW;
  1080. #ifdef UNICODE
  1081. typedef LPMCI_DGV_WINDOW_PARMSW LPMCI_DGV_WINDOW_PARMS;
  1082. #else
  1083. typedef LPMCI_DGV_WINDOW_PARMSA LPMCI_DGV_WINDOW_PARMS;
  1084. #endif // UNICODE
  1085.  
  1086. #ifdef __cplusplus
  1087. }                       /* End of extern "C" { */
  1088. #endif    /* __cplusplus */
  1089.  
  1090. #pragma option -b.
  1091. #endif  /* !_INC_DIGITALV */
  1092.